Members
Overall Objectives
Research Program
Application Domains
Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: Software and Platforms

gf2x

Participants : Pierrick Gaudry, Emmanuel Thomé [contact] , Paul Zimmermann.

gf2x is a software library for polynomial multiplication over the binary field, developed together with Richard Brent (Australian National University, Canberra, Australia). It holds state-of-the-art implementation of fast algorithms for this task, employing different algorithms in order to achieve efficiency from small to large operand sizes (Karatsuba and Toom-Cook variants, and eventually Schönhage's or Cantor's FFT-like algorithms). gf2x takes advantage of specific processors instruction (SSE, PCLMULQDQ).

The current version of gf2x is 1.1, released in May 2012 under the GNU GPL. Since 2009, gf2x can be used as an auxiliary package for the widespread software library Ntl , as of version 5.5.

In 2013, the development version of gf2x has been updated to incorporate detection of Intel Haswell microprocessors, which provide much improved performance for the PCLMULQDQ instruction (this instruction if of utmost importance for gf2x ).

An LGPL-licensed portion of gf2x is also part of the Cado-nfs software package.